package com.howie.gulimall.search.vo;

import lombok.AllArgsConstructor;
import lombok.Data;

import java.util.List;

/**
 * @description: 搜索参数视图对象，封装页面所有可能传递过来的查询条件
 * @author: laizhenghua
 * @date: 2021/2/20 16:41
 * 完整查询参数：keyword=小米&sort=saleCount_desc/asc*hasStock=0/1&skuPrice=400_1900&brandId=1&catalog3Id=1
 * &attrs=1_3G:4G:5G&attrs=2_晓龙&attrs=4_高清屏
 */
@Data
public class SearchParam {
    /**
     * 页面传递过来的全文匹配关键字
     */
    private String keyword;
    /**
     * 三级分类id
     */
    private Long catalog3Id;
    /**
     * 排序条件：检索商品时排序条件有多种方式
     * 销售数量：saleCount_asc/desc
     * 商品价格：skuPrice_asc/desc
     * 热度评分：hotScore_asc/desc
     */
    private String sort; // sort=saleCount_asc
    /**
     * 过滤条件
     * hasStock(是否有货)、skuPrice(价格区间)、brandId(品牌id)、catalog3Id(三级分类id)、attrs(属性)
     * hasStock=0/1
     */
    private Integer hasStock = 1; // 是否只显示有货
    /**
     * skuPrice=1_500/_500/1000_
     */
    private String skuPrice; // 价格区间
    /**
     * brandId(品牌id)
     */
    private List<Long> brandId; // 按照品牌进行查询
    private List<String> attrs; // 按照属性进行筛选
    private Integer pageNumber = 1; // 页码
    /**
     * 所有请求参数
     */
    private String queryString;
}
